Data storage utilization is continually increasing, causing the proliferation of storage systems in data centers. In particular, the size of the applications and the data generated there from is increasing. Moreover, systems/users are backing up multiple copies of a given set of data to maintain multiple versions. For example, snapshots of a given database stored in a server are copied and stored over time, thereby allowing a given version/snapshot of a set of data to be restored. Thus, a typical client has an abundant amount of data to be backed up. A typical network configuration includes multiple remote devices communicatively coupled to a central backup storage system for backing up their data. At times a disaster recovery must be performed by the remote devices in order to restore data that has been backed up. Given the amount of backed up data, the recovery time can be quite long.
A remote device can increase the restore performance (i.e., reduce the restore time) by including the most frequently referenced data chunks in their local storage unit. A conventional central storage system maintains information indicating the frequency of usage of data chunks. However, the information is not maintained on a per device basis.